package org.biloxi.commands.changeturn;

import org.biloxi.commands.CommandRepository;
import org.biloxi.commands.impl.CommandImpl;
import org.biloxi.model.GameState.Phase;
import org.biloxi.model.mutable.GameStateMutable;
import org.biloxi.player.PlayerID;

public class ChangeTurn extends CommandImpl<ChangeTurn.Options, ChangeTurn.Result> {
	
	static public class Options {
		public final PlayerID nextPid;

		public Options(PlayerID Pid) {
			this.nextPid = Pid;
		}
	}
	static public class Result {
	}
	
	public ChangeTurn(CommandRepository cr) {
		super(cr);
	}
	
	@Override
	protected Result executeImpl(Options o, GameStateMutable gameState) {
		gameState.setTurnsPlayerID(o.nextPid);
		return new Result();
	}

}
